define(['vue','ELEMENT'],function (Vue,ELEMENT){
    return {
        template:`<div :style="{width:width}" class="flex-row flex-content-between flex-item-center">
<el-input v-model="start_value"  type="number" :placeholder="placeholder+'最小值'" style="width:45%"></el-input>
-
<el-input v-model="end_value"  type="number" :placeholder="placeholder+'最大值'" style="width:45%"></el-input>
</div>`,
        props:{
            modelValue:{
                type:Object,
                default:['','']
            },
            width:{
                type:String,
                default:'360px'
            },
            placeholder:{
                type:String,
                default:""
            }
        },
        emits:['update:modelValue'],
        computed:{
            start_value(){
                if(typeof this.modelValue ===  'object'){
                    if(Array.isArray(this.modelValue)){
                        return this.modelValue[0];
                    }
                    if(this.modelValue['start']){
                        return this.modelValue['start'];
                    }
                    for (var i in this.modelValue){
                        return this.modelValue[i];
                    }
                }else{
                    return this.modelValue.split(' - ')[0];
                }
            },
            end_value(){
                if(typeof this.modelValue ===  'object'){
                    if(Array.isArray(this.modelValue)){
                        return this.modelValue[1];
                    }
                    if(this.modelValue['end']){
                        return this.modelValue['end'];
                    }
                    let num = 0;
                    for (var i in this.modelValue){
                        if(num!==0){
                            return this.modelValue[i];
                        }
                    }
                }else{
                    return this.modelValue.split(' - ')[1];
                }
            }
        },
        watch:{
            modelValue:function (val){
                // console.log(val,'vvvvvvvvvvvvvvv')
            },
            start_value:function (val){
                if(typeof this.modelValue ===  'object'){
                    if(Array.isArray(this.modelValue)){
                        // return this.modelValue[0];
                        this.$emit('update:modelValue',[val,this.end_value]);
                        return
                    }
                    if(this.modelValue['start']){
                       this.$emit('update:modelValue',{start:val,end:this.end_value})
                        return
                    }
                    let va = {}
                    let num = 0;
                    for (var i in this.modelValue){
                        if(num===0){
                            va[i] = val
                            num++;
                        }else{
                            va[i] = this.end_value
                        }
                    }
                    this.$emit('update:modelValue',va);
                }else{
                    let str = val+' - '+this.end_value;
                    this.$emit('update:modelValue',str);
                }
            },
            end_value:function (val){
                if(typeof this.modelValue ===  'object'){
                    if(Array.isArray(this.modelValue)){
                        // return this.modelValue[0];
                        this.$emit('update:modelValue',[this.start_value,val]);
                        return
                    }
                    if(this.modelValue['start']){
                        this.$emit('update:modelValue',{start:this.start_value,end:val})
                        return
                    }
                    let va = {}
                    let num = 0;
                    for (var i in this.modelValue){
                        if(num===0){
                            va[i] = this.start_value
                            num++;
                        }else{
                            va[i] = val
                        }
                    }
                    this.$emit('update:modelValue',va);
                }else{
                    let str = this.start_value+' - '+val;
                    this.$emit('update:modelValue',str);
                }
            }
        },
        data(){
            return {
                // start_value:function (){
                //     if(typeof this.modelValue ===  'object'){
                //         if(Array.isArray(this.modelValue)){
                //             return this.modelValue[0];
                //         }
                //         if(this.modelValue['start']){
                //             return this.modelValue['start'];
                //         }
                //         for (var i in this.modelValue){
                //             return this.modelValue[i];
                //         }
                //     }else{
                //         return this.modelValue.split(' - ')[0];
                //     }
                // },
                // end_value:function (){
                //     if(typeof this.modelValue ===  'object'){
                //         if(Array.isArray(this.modelValue)){
                //             return this.modelValue[1];
                //         }
                //         if(this.modelValue['end']){
                //             return this.modelValue['end'];
                //         }
                //         let num = 0;
                //         for (var i in this.modelValue){
                //             if(num!==0){
                //                 return this.modelValue[i];
                //             }
                //             num++;
                //         }
                //     }else{
                //         return this.modelValue.split(' - ')[1];
                //     }
                // }
            }
        }
    }
})